1. Introduction to the Course

  1. Introduction
    • Application platforms
      • Operating systems - standalone: examples?
      • Web browsers and web servers - over the Internet: in this course
      • Embeded systems - standalone: examples?
    • In COMP 2680, you learned the three web technologies that are used for client-side web applications.

      Where are web applications stored?
      Which platform is used to run web applicatoins?
    • In this course, COMP 3540, you will learn web technologes beyond COMP 2680, which are used to develop full web applications running over client and server systems.
    • In this course, you will learn how to develop dynamic web applications in which server-side databases are accessed and web applications are dynamically generated with the information obtained from databases.
    • There are two sides in dynamic web applications - Front-end (client-side) and back-end (server-side). In this course, you will learn front-end web technologies, and back-end web technologies, and web application architectures.
    • You may learn those front-end and back-end web technologies by studying topics by topics with examples, as many other classes do.
    • However this course uses a different approach. You will start with a web application that you will analyse in this unit. The analysis will list what specific how-to topics in front-end and back-end web technologies should be used.
    • Those specific how-to topics with some other general topics will be discussed in the following units.

  2. Learning objectives
    • Understand the major areas and challenges of web programming.
    • Distinguish web-related technologies.
    • Use advanced topics in HTML5, CSS3, JavaScript to solve how-to questions.
    • Use front-end frameworks - Bootstrap for responsive design, and jQuery for easy implementation.
    • Use a server-side scripting language, PHP, to solve how-to questions.
    • Use a relational DBMS, MySQL, to solve how-to questions.
    • Use PHP to access a MySQL database.
    • Use AJAX to retrieve data from the server without redisplaying the current web page.
    • Design and implement
      • typical static web pages and interactive web applications - JavaScript and jQuery.
      • dynamic creation of web applications using MVC architecture - PHP and MySQL.
      • web applications that use asynchronous communication - AJAX and jQuery.
      • Single Page Application (SPA).
      • secure 3-tier data-driven web applications - security issues.
    • ...

  3. Class projects
    • You will learn/practice the topics in this course while you develop one of the next two web appcliations.
      • TRU Questions & Answers
      • TRU Messager
    • You will also develop your own web application.

  4. Expectations
    • Self-directed learning
    • Self-motivated learning

  5. Evaluation

  6. Instructor

  7. How to study VERY well - Is motivation good enough?
    • There are many general ideas. Can you suggest some good ideas?
    • Some of them are more important. What are they?
    • There are two types of habits, winning habits and loosing habits.
    • Winning habits are ...
    • Loosing habits are ...